package _3_scoket项目

import (
	"fmt"
	"net"
)

func Servicer() {
	//创建监听器
	listen, err := net.Listen("tcp", "127.0.0.1:8082")
	if err != nil {
		fmt.Println("监听失败...", err)
		return
	}
	//建立连接
	for {
		fmt.Println("监听中......")
		conn, err := listen.Accept()
		if err != nil {
			fmt.Println("建立连接失败...")
			return
		}
		fmt.Println("建立连接成功...")
		go Hand(conn)
	}
}

func Hand(conn net.Conn) {
	for {
		//创建一个容器，用于接收数据
		buf := make([]byte, 1024)
		cnt, err := conn.Read(buf)
		if err != nil {
			fmt.Println("读取数据失败...")
			return
		}
		fmt.Println("service --->client，长度：", cnt, "数据：", string(buf))

		cntt, err := conn.Write(buf[:cnt])
		if err != nil {
			fmt.Println("写入数据失败...", err)
			return
		}
		fmt.Println("client --->service，长度:", cntt, "数据：", string(buf))
	}

}
